from homology cimport *
from native cimport dict, list
from homology cimport *
from rg cimport Fatgraph


cdef class MgnChainComplex(ChainComplex):
    cdef readonly Rational orbifold_euler_characteristics
    cpdef DifferentialComplex compute_boundary_operators(self)


cpdef MgnChainComplex FatgraphComplex(int g, int n)


cdef class NumberedFatgraph(Fatgraph):
    cpdef readonly Fatgraph underlying
    cpdef readonly dict numbering
    cdef NumberedFatgraph contract_nfg(self, int edgeno)
    cpdef list isomorphisms(self, other)


cdef class NumberedFatgraphPool(object):
    cdef readonly Fatgraph graph
    cdef readonly bool is_orientable
    cdef readonly list P
    cdef readonly list P_
    cdef readonly list numberings
    cdef readonly int num_automorphisms
    cdef list facets(self, int edge, NumberedFatgraphPool other)
    cdef _index(self, list numbering)
